A Reactive Scheduling Agent

نویسنده

  • Patrick Prosser
چکیده

Factory scheduling can be considered as an instance of the constraint satisfaction problem (CSP). Factory scheduling differs from traditional forms of the CSP in that it is a dynamic or open problem. Constraints are added to and retracted from the problem as work progresses on the shop floor. Constraints alter as unexpected events occur, such as the breakdown of machines, the late arrival of work, the early arrival of work and the changing demands put upon the scheduling system by the user. A system is required that can generate and maintain a schedule in near-real time and exploit opportunities as they arise. A single resource scheduling agent has been developed to schedule incrementally and reactively in a dynamic environment using advanced CSP techniques. 1. THE SCHEDULING PROBLEM The scheduling task can be loosely described as the problem of assigning resources and start times to operations. One conventional approach is to view this problem as one of optimisation. Two problems are associated with such a strategy: definition and brittleness. In many real world applications the concept of optimality is poorly defined due to problems of measure and conflict. To optimise on one measure alone could jeapordise other measures of optimality. Due to the dynamic and stochastic nature of the factory environment, optimal schedules quickly break down. They are brittle. It is preferable to produce schedules that are satisfactory and to maintain these schedules in the dynamic environment. Schedulers can be classified as predictive or reactive. Predictive schedules are created in a static world and assume that events are entirely predictable. Reactive scheduling addresses the problem of maintaining a schedule in a dynamic and stochastic world. Such a world offers up both conflicts and opportunities to the scheduler. In ISIS [Smith et al., 1986] deviations from the predictive schedule are viewed as constraint violations which result in a rescheduling of the effected orders. In OPIS [Ow et al., 1988] and SONIA [Collinot et al., 1988] the predictive and reactive scheduling components are integrated. Reactive scheduling (schedule maintenance) is achieved by the use of domain specific heuristics: load balancing, constraint relaxation and permutations of the predictive schedule. The system described here creates incrementally a predictive schedule (in a fashion similar to that used by Elleby [1987]) and maintains that schedule, reacting to both conflict and opportunity, using one common mechanism. 2. PROBLEM REPRESENTATION The scheduling problem can be represented using constraints. The job (or customer order) is expressed as a process plan, that is, a (possibly non-linear) sequence of job steps (as in [Fox and Kempf, 1985]) that must be performed to complete the job. The process plan is then the set of precedence constraints on a job. Each job step is refered to as an operation. Associated with each operation are technological and temporal constraints. Technological constraints describe the set of resources that can be used to perform a given operation. Temporal constraints describe the intervals of time in which an operation can be performed such that the due date of the order is met. In the single resource scheduling case it is assumed that the precedence and technological constraints have been satisfied; the problem is to satisfy temporal constraints on individual operations. The CSP can be represented (as in [Mackworth, 1977]) as a simple un-directed graph G. Let V(G) the set of vertices in G correspond to variables {v1, v2, v3, v„}. Each variable v, has a domain d{. a set of values that may be assigned to v,. Let E(G) be the set of binary constraints {(v, v;), (vk v1), ... (vm v j } . between pairs of variables. The binary constraint (v, vy) exists if there are values in the domain dk that may conflict with values in the domain dr In the scheduling problem an operation OP, is analogous to a variable v,. The domain di is then the set of legal start times for OPi. The binary constraint (OP, OPj) exists if there are values in di that may conflict with values in dj. Viewed another way there is a potential to schedule OPi and OPj such that they interfere in time. During the construction or execution of a schedule the domain d, of operation OPi may be altered by an external agent. 1004 Planning, Scheduling, Reasoning About Actions Domain di may be enlarged (OPi may arrive early or be allowed to finish late) or reduced (OPi, may arrive late or have to finish early). A new operation OPj can be added to G (an operation arrives at the resource) or an existing operation OPk can be deleted from G (an operation completes and leaves the resource). These changes may create and destroy edges in G. Most research on the constraint satisfaction problem has used the n-queens or similar problems as a vehicle to study algorithms and their complexities. The n-queens problem has two characteristics that put it apart from the factory scheduling problem. Firstly, the n-queens problem can be represented by a complete undirected graph G (sometimes refered to as Kn). In the factory scheduling problem the complete graph Kn wi l l be a special case. The graph G wi l l tend to be incomplete and may be a union of disconnected graphs, corresponding to a set of independent CSP's. Secondly, the n-queens problem is a static or closed constraint satisfaction problem: once posed the graph G does not alter. In the factory scheduling problem the graph G is dynamic. One further difference between the traditional CSP and the one posed here is that only the first solution to the scheduling problem is required (though if the problem is one of optimisation then many schedules would be required). The search for the first solution in a dynamic problem has implications on the techniques to be used. A search appropriate to finding all solutions (as in Mack worth [19771) is not neccessarily economical in finding the first solution. 3. THE REACTIVE SCHEDULING AGENT The agent is given the scheduling problem posed as a constraint graph G. In moving forwards through the search space the agent performs forward checking, removing inconsistencies from the domains of unscheduled operations. Moving backwards, backtracking, the agent reasons over inconsistencies deriving knowledge about the search space. This knowledge is exploited during search (pruning the search space) and in reacting to externally induced change. The agent exploits the topology of G in two ways [Nudel, 1983]. First, having scheduled operation OP, the agent wi l l select the next operation to schedule from the set of unscheduled operations adjacent to OPi. This allows the agent to navigate around independent problems rather than imbed them within each other. Secondly, having given OP, a start time forward checking need only be applied to the set of unscheduled operations adjacent to OP,. In moving backwards through the search space, backtracking, the agent exploits the dependency information derived by forward checking. The following example demonstrates the incremental creation of a schedule by the agent. Suppose we have four operations (A, B, C and D) to be scheduled on a single resource. For the sake of simplicity it is assumed that each operation has a duration of 1 unit of time on the resource, the resource cannot be shared and the temporal domains of the operations are discrete (table 1). The agent solves the scheduling problem in a depthfirst incremental manner. On assigning a start time to an operation OPi the agent applies the forward checking procedure (FC) of Haralick [Haralick and Elliot, 1980] to all unscheduled operations adjacent to OP, in the constraint graph G, removing inconsistent values from their domains. Table 3 shows the result of assigning a start time of 2 to operation A. The value 2 is removed from A's domain. Forward checking is applied to all operations adjacent to operation A: operations B, C and D. This results in the reduction of the domains of operations C and D (the value 2 is removed from their domains) and a recording of the source of this reduction (column reducers in table 3). Prosser 1005 The scheduling problem is represented as a constraint network. In the example given an arc (constraint) exists between operations OPi and OPj if there is an intersection between their domains (a potential for operations to interfere in time). Table 2 shows the adjacency matrix for the constraint graph V(G)=(A B C D). The agent wi l l then proceed, making the assignments B= l (forward checking B with D) and C=4 (forward checking C with D). This results in, table 4, operation D having a null domain. On discovering an inconsistency the agent wi l l backtrack using dependency information derived by forward checking. During backtracking the agent reasons over inconsistencies using the nth order shallow learning of Dechter [1986]. In the situation depicted in table 4 the agent wi l l concentrate on the operation with the null domain, operation D, until the inconsistency is resolved or the information derived by forward checking is exhausted. The most recent reducer of D, operation C, wi l l be unscheduled. This wi l l enlarge the domain of D, returning the value 4 that was earlier removed by forward checking C with D. Using shallow reasoning the agent determines the nogood {(D€V(G) & B=1 & A=2) -> C#4], (when operation D exists and B = l and A=2, C cannot have the value 4). For brevity the nogood is identified uniquely by a symbol, in this case #0. Due to nogood #0 the value 4 is removed from the domain of C leaving C with a null domain. The agent wi l l then unschedule the next most recent reducer of operation D, operation B. As a result of this nogood #0 can no longer be believed because B= l is false and the value 4 is returned to the domain of operation C (nogood #0 is destroyed). Unscheduling B wi l l also return the value 1 to the domain of D, previously removed by forward checking B with D. Again using shallow learning the agent derives the nogood #]{(A=2 & CeV(G) &. DeV(G)) —> B#1}, removing the value 1 from the domain of B leaving a domain of (3 5). This is shown in table 5. 1006 Planning, Scheduling, Reasoning About Actions 4. REACTION TO EXTERNALLY INDUCED CHANGE Notification of change is received by an agent via mail. Typically changes are: the deletion of an operation, the addition of an operation or a modification to the domain of an operation. Such changes can occur during search or after search has completed. Deletion of an operation, 0Px' corresponds to the relaxation of constraints. A l l reductions imposed by 0PX via forward checking are returned to the domains of the effected operations, the nogood knowledge-base is updated and OPx is removed from the constraint graph. For example suppose operation C is removed from the scheduling problem in table 6. The reductions imposed by C on D via forward checking are undone (the value 4 is returned to the domain of D). The nogood #7 {A =2 & C€V(G) & D€V(G) -> B#1} can no longer be believed because C€V(G) is false. The nogood #1 is destroyed and the value 1 is returned to the domain of B. Operation C is finally removed from the constraint graph resulting in the schedule of table 7. The addition of an operation OPx corresponds to the addition of constraints to the problem and involves the mechanisms of search (forward checking, dependency directed backtracking and shallow learning). Suppose operation E, with a single point domain (2), is added to the schedule in table 6. The adjacency matrix (table 2) is updated, creating new arcs AE, EA, CE, EC, DE and ED. Forward checking takes place between A and E, removing the value 2 from E's domain, resulting in an inconsistency (table 8). Search can then move forward from B, making the assignments B=3, C=4 (forward checking C with D) and finally D = l (table 6). The nogood #1{(A=2 & C€V(G) & D€V(G) ) -> B#1} is equivalent to the discovery of a path inconsistency between vertices A, B, C and D in the constraint graph G. The agent wi l l then perform the following sequence of actions, resulting in the schedule depicted in table 9.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A multi Agent System Based on Modified Shifting Bottleneck and Search Techniques for Job Shop Scheduling Problems

This paper presents a multi agent system for the job shop scheduling problems. The proposed system consists of initial scheduling agent, search agents, and schedule management agent. In initial scheduling agent, a modified Shifting Bottleneck is proposed. That is, an effective heuristic approach and can generate a good solution in a low computational effort. In search agents, a hybrid search ap...

متن کامل

Uncertain Resource Availabilities: Proactive and Reactive Procedures for Preemptive Resource Constrained project Scheduling Problem

Project scheduling is the part of project management that deals with determining when intime to start (and finish) which activities and with the allocation of scarce resources to theproject activities. In practice, virtually all project managers are confronted with resourcescarceness. In such cases, the Resource-Constrained Project Scheduling Problem (RCPSP)arises. This optimization problem has...

متن کامل

A Hybrid Modeling for Continuous Casting Scheduling Problem

This paper deals with a multi-agent-based interval type-2 fuzzy (IT2F) expert systemfor scheduling steel continuous casting. Continuous caster scheduling is a complex and extensiveprocess that needs expert staff. In this study, a distributed multi-agent-based structure is proposed as asolution. The agents used herein can cooperate with each other via various communication protocols.To facilitat...

متن کامل

Dynamic configuration and collaborative scheduling in supply chains based on scalable multi-agent architecture

Due to diversified and frequently changing demands from customers, technological advances and global competition, manufacturers rely on collaboration with their business partners to share costs, risks and expertise. How to take advantage of advancement of technologies to effectively support operations and create competitive advantage is critical for manufacturers to survive. To respond to these...

متن کامل

Stochastic Reactive Production Scheduling by Multi-agent Based Asynchronous Approximate Dynamic Programming

The paper investigates a stochastic production scheduling problem with unrelated parallel machines. A closed-loop scheduling technique is presented that on-line controls the production process. To achieve this, the scheduling problem is reformulated as a special Markov Decision Process. A near-optimal control policy of the resulted MDP is calculated in a homogeneous multi-agent system. Each age...

متن کامل

Component Based Task Models for Agent Coordination

This paper describes the initial development of an intelligent tasking model which has been designed to enable complex systems, human agents and software agents, to be tasked and controlled within a reactive workflow management paradigm. The task models exploits recent advances within the AI community in reactive control, scheduling and continuous execution. The Dynamic Execution Order Schedule...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1989